Manufacturing resource planning (MRP) typically, products are modeled as a bill of materials (BOM). Traditional BOMs have a header material and a number of item materials that comprises the structure defined in the header. Any particular assembly may have a BOM with one or more child BOMs corresponding to items within the parent BOM. For purposes of flexibility, configurable BOMs, which permit the value of the header or items to be subsequently defined from a group of possible options have been created. Additionally, some BOMs have items, which correspond to a class, where the class is a set of possible items that may be substituted for the item within the BOM.
A recursion exists within the product structure when a lower level item is the same as a higher level item within the structure. This may happen as a result of entry errors by, e.g. a product engineer who has incorrectly changed the product structure such as adding a component or replacing a material such that a lower order item is the same as a higher order item, or as a result of simplifying assumptions made for performance reasons in the MRP software. For example, typically, for performance reasons within a variable product structure having, e.g. three variants, a first variant with item 1, a second variant with item 1 and item 2, and a third variant with item 1 and item 3. Variants 1, 2 and 3 are all presumed to have children. Item 1, item 2, and item 3 could thus, if item 2 in fact includes the header material of variant 1 or variant 3, a recursion (which does not exist in practice) appears to exist from the point of view of the MRP software. Similarly, the MRP software does not consider effectivity thus, if after a certain date a header material is moved to an item material going forward, this will nevertheless create a recursion from the point of view of the MRP software.
While recursions are possible in the context of a process in manufacturing where some of the header material may be used to kick off e.g., the next batch in the process, in the manufacture of discrete products real recursions are not possible. As a practical matter, recursions in the virtual products structure are highly problematic in connection with MRP and manufacturing generally. When a recursion occurs, either real or virtual within the virtual products structure the MRP run fails and production cannot begin until the recursion is identified, resolved, and the MRP run is able to complete.
Some recursion analysis tools exist which generally amount to providing a list of steps in an application log. However, the steps are not listed in any order that facilitates the understanding of the recursion and in the case of complex multiple recursion cycles regarding, for example, the same material, it is very difficult to understand the listing and very complex to translate the information into a coherent form that permits resolution of the recursion. The fact that such product recursions can bring manufacturing to a halt, is a very significant problem in the discrete manufacturing industry.